package com.yanggu.scala.chapater18.generic

//scala的泛型和java类似, 但是功能远比java的泛型强大
object GenericDemo01 {

  def main(args: Array[String]): Unit = {
    val msg1 = new StringMessage[String]("10")
    val msg2 = new IntMessage[Int](2)

    println(msg1.get)
    println(msg2.get)
  }

}
/*
要求:

编写一个Message类
可以构建Int类型的Message和String类型的Message.
要求使用泛型来完成设计,(说明：不能使用Any)
scala的泛型就是中括号
*/
abstract class Message[T](value: T) {

  def get = value

}

class StringMessage[String](msg: String) extends Message(msg)

class IntMessage[Int](msg: Int) extends Message(msg)
